package com.oa.common.enums;

import com.oa.common.interfaces.CodeStatus;

/**
 * 流程的状态
 */
public enum FlowStatus implements CodeStatus {

    /** 正常流程 **/
    NORMAL(1,"较下一步"),

    /** 流程结束 **/
    END(2,"流程结束"),

    /** 退回流程 **/
    RETURN(3,"退回流程")

    ;

    /** 编码 **/
    private int code;

    /** 说明 **/
    private String message;

    @Override
    public String getMessage() {
        return message;
    }

    @Override
    public void setMessage(String message) {
        this.message= message;
    }

    @Override
    public int getCode() {
        return code;
    }

    @Override
    public void setCode(int code) {
        this.code= code;
    }

    /**
     * 初始化枚举
     *
     * @param code
     * @param message
     */
    FlowStatus(int code,String message){
        this.code= code;
        this.message= message;
    }

    /**
     * 获取流程状态的说明
     *
     * @param code
     * @return
     */
    public static String getMessage(int code){
        for (FlowStatus status:FlowStatus.values()){
            if (status.getCode()==code){
                return status.getMessage();
            }
        }
        return null;
    }
}
